using System;
using System.Collections.Generic;

namespace HISModels.Entities
{
	public class Patient
	{
	    public Patient()
		{
			this.Addresses = new List<Address>();
			this.PatientPassIds = new List<PatientPassId>();
			this.PatientPayers = new List<PatientPayer>();
			this.PatientRegs = new List<PatientReg>();
			this.PatientRelatives = new List<PatientRelative>();
			this.SysFileUploads = new List<SysFileUpload>();
		}

		public int Id { get; set; }
		public string MedicalRecordNumber { get; set; }
		public string FirstName { get; set; }
		public string MiddleName { get; set; }
		public string LastName { get; set; }
		public int GenderId { get; set; }
		public System.DateTime Birthdate { get; set; }
		public string Birthplace { get; set; }
		public Nullable<int> IdentityCardTypeId { get; set; }
		public string IdentityCardbNumber { get; set; }
		public Nullable<int> SalutationId { get; set; }
		public Nullable<int> BloodTypeId { get; set; }
		public string PhoneNumber { get; set; }
		public string Email { get; set; }
		public Nullable<double> Weight { get; set; }
		public Nullable<double> Height { get; set; }
		public Nullable<int> MaritalId { get; set; }
		public Nullable<int> EthnicityId { get; set; }
		public Nullable<int> RecordStatus { get; set; }
		public string CreatedBy { get; set; }
		public Nullable<System.DateTime> CreatedOn { get; set; }
		public string ModifiedBy { get; set; }
		public Nullable<System.DateTime> ModifiedOn { get; set; }
		public Nullable<int> ReligionId { get; set; }
		public bool IsTreated { get; set; }
		public Nullable<int> OccupationId { get; set; }
		public Nullable<int> EducationId { get; set; }
		public virtual ICollection<Address> Addresses { get; set; }
		public virtual ICollection<PatientPassId> PatientPassIds { get; set; }
		public virtual ICollection<PatientPayer> PatientPayers { get; set; }
		public virtual ICollection<PatientReg> PatientRegs { get; set; }
		public virtual ICollection<PatientRelative> PatientRelatives { get; set; }
		public virtual RefGender RefGender { get; set; }
		public virtual RefIdentityCardType RefIdentityCardType { get; set; }
		public virtual RefEducation RefEducation { get; set; }
		public virtual RefEthnicity RefEthnicity { get; set; }
		public virtual RefMarital RefMarital { get; set; }
		public virtual RefOccupation RefOccupation { get; set; }
		public virtual RefReligion RefReligion { get; set; }
		public virtual RefType RefType { get; set; }
		public virtual RefSalutation RefSalutation { get; set; }
		public virtual ICollection<SysFileUpload> SysFileUploads { get; set; }
	}
}

